// pages/2411Ayiliao-pages/nucleic/detail.js
Page({
	data: {
		currentPatient: {
			name: '蒋峰',
			tag: '本人',
			idNumber: '622*********0909'
		},
		activeFilter: 'lastYear',
		nucleicList: [
			{
				id: 1,
				title: '新型冠状病毒核酸检测 (咽拭子)',
				department: '保健科',
				appointmentTime: '2020年10月5日 10:50',
				patientName: '王敏',
				status: 'success',
				statusText: '预约成功',
				statusClass: 'success'
			},
			{
				id: 2,
				title: '新型冠状病毒核酸检测 (咽拭子)',
				department: '保健科',
				appointmentTime: '2020年10月5日 10:50',
				patientName: '王敏',
				status: 'completed',
				statusText: '已完成',
				statusClass: 'completed'
			}
		]
	},

	onLoad() {
		this.loadCurrentPatient()
		this.loadNucleicData()
	},

	// 加载当前患者信息
	loadCurrentPatient() {
		// 从个人中心获取当前默认患者
		const app = getApp()
		const userInfo = app.getUserInfo()

		if (userInfo) {
			this.setData({
				currentPatient: {
					name: userInfo.nickName || '蒋峰',
					tag: '本人',
					idNumber: userInfo.phoneNumber || '622*********0909'
				}
			})
		}
	},

	// 加载核酸预约记录数据
	loadNucleicData() {
		wx.showLoading({
			title: '加载中...'
		})

		wx.request({
			url: 'http://localhost:8080/nucleic/list',
			method: 'GET',
			header: {
				'Content-Type': 'application/json'
			},
			success: (res) => {
				wx.hideLoading()

				if (res.statusCode === 200 && res.data) {
					let nucleicData = res.data

					// 处理数据格式
					if (typeof nucleicData === 'string') {
						try {
							nucleicData = JSON.parse(nucleicData)
						} catch (e) {
							console.error('JSON解析失败:', e)
							return
						}
					}

					if (!Array.isArray(nucleicData)) {
						if (nucleicData.data && Array.isArray(nucleicData.data)) {
							nucleicData = nucleicData.data
						} else if (nucleicData.list && Array.isArray(nucleicData.list)) {
							nucleicData = nucleicData.list
						} else {
							console.error('数据格式不正确')
							return
						}
					}

					// 处理核酸预约记录数据
					const processedData = nucleicData.map(item => ({
						id: item.id || item.nucleicId,
						title: item.title || item.testName || '新型冠状病毒核酸检测 (咽拭子)',
						department: item.department || item.deptName || '保健科',
						appointmentTime: item.appointmentTime || item.testTime || '2020年10月5日 10:50',
						patientName: item.patientName || item.username || '王敏',
						status: item.status || 'success',
						statusText: this.getStatusText(item.status),
						statusClass: this.getStatusClass(item.status)
					}))

					this.setData({
						nucleicList: processedData
					})

					wx.showToast({
						title: '数据加载成功',
						icon: 'success'
					})
				} else {
					console.error('加载核酸预约记录失败:', res.statusCode)
				}
			},
			fail: (error) => {
				wx.hideLoading()
				console.error('网络请求失败:', error)
				wx.showToast({
					title: '网络请求失败',
					icon: 'none'
				})
			}
		})
	},

	// 获取状态文本
	getStatusText(status) {
		const statusMap = {
			'success': '预约成功',
			'completed': '已完成',
			'cancelled': '已取消',
			'pending': '待检测'
		}
		return statusMap[status] || '未知状态'
	},

	// 获取状态样式类
	getStatusClass(status) {
		const classMap = {
			'success': 'success',
			'completed': 'completed',
			'cancelled': 'cancelled',
			'pending': 'pending'
		}
		return classMap[status] || 'default'
	},

	// 切换就诊人
	switchPatient() {
		wx.navigateTo({
			url: '/pages/2411Ayiliao-pages/profile/profile'
		})
	},

	// 选择筛选条件
	selectFilter(e) {
		const filter = e.currentTarget.dataset.filter
		this.setData({
			activeFilter: filter
		})
		this.loadNucleicData()
	},

	// 查看详情
	viewDetail(e) {
		const item = e.currentTarget.dataset.item
		wx.navigateTo({
			url: `/pages/2411Ayiliao-pages/nucleic/detail?id=${item.id}&status=${item.status}`
		})
	},

	// 查看报告
	viewReport(e) {
		const item = e.currentTarget.dataset.item
		wx.navigateTo({
			url: `/pages/2411Ayiliao-pages/nucleic/report?id=${item.id}`
		})
	},

}) 